#include "DHT.h"   // 包含DHT库

#define DHTPIN 14  // 定义DHT11数据引脚连接到ESP32的GPIO14
#define DHTTYPE DHT11   // 定义传感器类型为DHT11
DHT dht(DHTPIN, DHTTYPE);  // 创建DHT传感器对象

void setup() {
  Serial.begin(9600);   // 初始化串口通信，波特率设置为9600
  dht.begin();          // 初始化DHT11传感器
}

void loop() {
  // 读取湿度和温度值
  float h = dht.readHumidity();          // 读取湿度
  float t = dht.readTemperature();       // 读取温度

  // 检查读取是否成功
  if (isnan(h) || isnan(t)) {
    Serial.println("读取DHT11失败!");  // 如果读取失败，在串口监视器打印失败信息
    return;
  }

  // 串口打印温湿度信息
  Serial.printf("湿度: %.1f%% 温度: %.1f°C\n", h, t);  // 格式化输出湿度和温度
  delay(2000);  // 等待2秒钟再次读取，DHT11的读取间隔建议不少于2秒
}
